package com.neudu.corejava.ch2;

public class DateType {
	public static void main(String[] args) {
		
		
		//基本数据类型间的转换
		byte bt=127;// 数值储存时不能超过其（储值）储值范围
		short sh=4325;
		int i=123456;//整数默认的是int类型的
		
		long l=12345678;
		
		
		float f=123.34F;//单精度浮点数必须以f或F结尾
		float f1=123.34f;
		
		double d1=1323432.334;//小数默认是double类型的
		double d2=1323432.334D;//双精度的小数以D或d结尾，如果不写默认也是double型
		double d3=1323432.334d;
		
		d1=f=l=i=sh=bt;//当一个小范围的数据转换为大范围时，可以自动转换，注意：long类型可以自动转换为float
		f=(float)d1;//当把一个大范围的数据转换为一个小范围时，需要进行强制转换，强制转换使用（）表示；
		l=(long)f;
	
		//l=(long)f=(float)d1;类型的强制转换不能连续转换；
		
		
		
		//字符类型
		//char ch1='';错误，没有这样的空字符
		char ch1='a';//字符是单引号表示，引号内必须有一个特定的符号
		char ch2='&';
		char ch3='中';//字符类型能不能保存汉字
		i=ch3;//char类型可以自动转换为int类型
		
		
		//字符与字符串
		String str1="";//字符串可以使用双引号表示，可以是空字符串
		String str2=null;//字符串默认值是null，null是一种特殊的数据类型（表示没有数据），但不是空字符串
		
		boolean bool1=true;//boolean类型表示一种逻辑数据，真和假，对与错，正与反
		boolean bool2=false;
		
		
		
		//使用下划线增加数据的可阅读性
		long l3=1_000_000_000;//从jdk1.7 开始支持使用下划线增加数据可阅读性；
		long l4=1_0000_0000;
		float f3=1234.123_456F;
		//3._1415_9265;//小数点后不能添加下划线；
		//1234_4567_8901_2345_L//数字结尾不能添加下划线
		//_777_99_8888L//数值开头不能添加下划线
		
		
		
		//进制数
		//常用的数的进制数：二进制、八进制、十进制、十六进制
		//二进制：01
		//八进制：01234567
		//十进制：0123456789
		//十六进制：0123456789ABCDEF
		

		
		
		
		//数据的表示
		int i3=0b101_010_101_01010;//二进制数以0b或0B开始
		i3 =010101010017;//八进制数以（零）0开头
		i3=0xe3d4b6a6;//十六进制数：（零）0X开头
		
		
		//数值之间的换算
		
		//计算：2的3次方式多少？要求使用效率最高的方法计算？
		//2<<2;(左移两位）；
		
		
		
		
		
		
	}

}
